using Universal.Application.Contracts.Dto.Menu;

namespace Universal.Application.Repositories;

/// <summary>
/// 菜单服务
/// </summary>
public interface IMenuService
{
    Task<dynamic> GetMenuTreeAsync();
    Task<dynamic> GetCurrentUserMenusAsync(Guid userId);
    Task<dynamic> GetUserMenusByUserIdAsync(Guid userId);
    Task<dynamic> AddOrUpdateMenuAsync(MenuDto dto);
    Task<dynamic> DeleteMenuAsync(Guid menuId);
    Task<dynamic> RestoreDefaultMenusAsync();

    Task<dynamic> EnableMenuAsync(Guid menuId);
    Task<dynamic> DisableMenuAsync(Guid menuId);
}